package com.firefly.admin.login.service;


import com.firefly.admin.common.vo.Result;
import com.firefly.admin.login.vo.LoginInfoVo;
import com.firefly.admin.login.vo.RouterInfoVo;
import com.firefly.admin.login.vo.UserInfoVo;

import java.util.List;
import java.util.Map;

public interface LoginService {
    /**
     * 系统管理员登录接口
     *
     * @param loginInfoVo 登录信息
     * @return 登录结果
     */
    Result<String> login(LoginInfoVo loginInfoVo);

    /**
     * 系统管理员登出接口
     *
     * @return 操作结果
     */
    Result<String> logout();

    /**
     * 获取用户信息结果
     *
     * @return 用户信息
     */
    Result<UserInfoVo> getLoginUser();

    /**
     * 获取登录用户有权限的菜单接口
     *
     * @return 路由信息
     */
    Result<List<RouterInfoVo>> getMenuList();

    /**
     * 获取验证码信息接口
     *
     * @return 验证码信息
     */
    Result<Map<String, String>> getVerifyCode();
}
